void ViewTopo16x16(Int_t B, Int_t F)

{
    fileData = new TFile("MergedOutput.root");
    fileMC = new TFile("./Pythia/MergedOutput.root");

    TList *listData = fileData->Get("outputPhi256");
    TList *listMC = fileMC->Get("outputPhi256");
    TList *listMCtrue = fileMC->Get("MCtrueOutputPhi256");

    //TList *listMC = fileMC->Get("outputPhi");
    //TList *listMCtrue = fileMC->Get("MCtrueOutputPhi");

    HistTopo = new TH2F("HistTopo", "QQ correlations 3D representation pp 7 Tev", 16, -9*TMath::Pi()/16, 23*TMath::Pi()/16, 15, -0.05, 1.45); //PhiConf, EtaConf
    HistTopoCorrection = new TH2F("HistTopoCorrection", "Correction coefficient 3D representation pp 7 Tev", 16, -9*TMath::Pi()/16, 23*TMath::Pi()/16, 15, -0.05, 1.45);
    //HistTopo = new TH2F("HistTopo", "Topology of QQ Correlation pp 7 Tev Add1 config", 8, -TMath::Pi()/2, 5*TMath::Pi()/4, 4, 0, 0.8);
    //HistTopo = new TH2F("HistTopo", "Topology of QQ Correlation pp 7 Tev Add2 config", 8, -TMath::Pi()/2, 5*TMath::Pi()/4, 5, 0, 1.0);
    HistTopo->GetXaxis()->SetTitle("#phi sep");
    HistTopo->GetYaxis()->SetTitle("#eta sep");
    HistTopoCorrection->GetXaxis()->SetTitle("#phi sep");
    HistTopoCorrection->GetYaxis()->SetTitle("#eta sep");

    for (Int_t EtaConf=2; EtaConf<=14; EtaConf++)
    //for (Int_t EtaConf=1; EtaConf<=3; EtaConf++)
    //for (Int_t EtaConf=1; EtaConf<=4; EtaConf++)

        for (Int_t PhiConf=1; PhiConf<=12; PhiConf++)


        {
            THnSparseF* hData= (THnSparseF*) listData->FindObject(Form("fPhi1%dEta%d",PhiConf,EtaConf));
            THnSparseF* hMC= (THnSparseF*) listMC->FindObject(Form("fPhi1%dEta%d",PhiConf,EtaConf));
            THnSparseF* hMCtrue= (THnSparseF*) listMCtrue->FindObject(Form("fPhi1%dEta%d",PhiConf,EtaConf));

            TH2D* qqData=hData->Projection(B,F,"");
            TH1D* qqcfData=(TH1D*)qqData->ProfileX("");
            qqcfData->Fit("pol1","");
            Double_t bData=qqcfData->GetFunction("pol1")->GetParameter(1);

            TH2D* qqMC=hMC->Projection(B,F,"");
            TH1D* qqcfMC=(TH1D*)qqMC->ProfileX("");
            qqcfMC->Fit("pol1","");
            Double_t bMC=qqcfMC->GetFunction("pol1")->GetParameter(1);

            TH2D* qqMCtrue=hMCtrue->Projection(B,F,"");
            TH1D* qqcfMCtrue=(TH1D*)qqMCtrue->ProfileX("");
            qqcfMCtrue->Fit("pol1","");
            Double_t bMCtrue=qqcfData->GetFunction("pol1")->GetParameter(1);

            //Double_t be=qqcf->GetFunction("pol1")->GetParError(1);
            if (bMC) {HistTopo->SetBinContent(PhiConf+4, EtaConf+1, bData*bMCtrue/bMC);} else {cout<<"error line~48";return;}
            HistTopoCorrection->SetBinContent(PhiConf+4, EtaConf+1, bMCtrue/bMC);
            //HistTopo->SetBinContent(PhiConf+4, EtaConf+1, bData);

        }

    for (Int_t EtaConf=0;EtaConf<=1;EtaConf++)

        for (Int_t PhiConf=3; PhiConf<=12; PhiConf++)
        {
            THnSparseF* hData= (THnSparseF*) listData->FindObject(Form("fPhi1%dEta%d",PhiConf,EtaConf));
            THnSparseF* hMC= (THnSparseF*) listMC->FindObject(Form("fPhi1%dEta%d",PhiConf,EtaConf));
            THnSparseF* hMCtrue= (THnSparseF*) listMCtrue->FindObject(Form("fPhi1%dEta%d",PhiConf,EtaConf));

            TH2D* qqData=hData->Projection(B,F,"");
            TH1D* qqcfData=(TH1D*)qqData->ProfileX("");
            qqcfData->Fit("pol1","");
            Double_t bData=qqcfData->GetFunction("pol1")->GetParameter(1);

            TH2D* qqMC=hMC->Projection(B,F,"");
            TH1D* qqcfMC=(TH1D*)qqMC->ProfileX("");
            qqcfMC->Fit("pol1","");
            Double_t bMC=qqcfMC->GetFunction("pol1")->GetParameter(1);

            TH2D* qqMCtrue=hMCtrue->Projection(B,F,"");
            TH1D* qqcfMCtrue=(TH1D*)qqMCtrue->ProfileX("");
            qqcfMCtrue->Fit("pol1","");
            Double_t bMCtrue=qqcfData->GetFunction("pol1")->GetParameter(1);

            if (bMC) {HistTopo->SetBinContent(PhiConf+4, EtaConf+1, bData*bMCtrue/bMC);} else {cout<<"error line~76";return;}
            HistTopoCorrection->SetBinContent(PhiConf+4, EtaConf+1, bMCtrue/bMC);
            //HistTopo->SetBinContent(PhiConf+4, EtaConf+1, bData);


        }


    for (Int_t EtaConf=2; EtaConf<=14; EtaConf++)
    //for (Int_t EtaConf=0; EtaConf<=3; EtaConf++)
    //for (Int_t EtaConf=0; EtaConf<=4; EtaConf++)

        for (Int_t PhiConf=13; PhiConf<=16; PhiConf++)

        {

            THnSparseF* hData= (THnSparseF*) listData->FindObject(Form("fPhi1%dEta%d",PhiConf,EtaConf));
            THnSparseF* hMC= (THnSparseF*) listMC->FindObject(Form("fPhi1%dEta%d",PhiConf,EtaConf));
            THnSparseF* hMCtrue= (THnSparseF*) listMCtrue->FindObject(Form("fPhi1%dEta%d",PhiConf,EtaConf));

            TH2D* qqData=hData->Projection(B,F,"");
            TH1D* qqcfData=(TH1D*)qqData->ProfileX("");
            qqcfData->Fit("pol1","");
            Double_t bData=qqcfData->GetFunction("pol1")->GetParameter(1);

            TH2D* qqMC=hMC->Projection(B,F,"");
            TH1D* qqcfMC=(TH1D*)qqMC->ProfileX("");
            qqcfMC->Fit("pol1","");
            Double_t bMC=qqcfMC->GetFunction("pol1")->GetParameter(1);

            TH2D* qqMCtrue=hMCtrue->Projection(B,F,"");
            TH1D* qqcfMCtrue=(TH1D*)qqMCtrue->ProfileX("");
            qqcfMCtrue->Fit("pol1","");
            Double_t bMCtrue=qqcfData->GetFunction("pol1")->GetParameter(1);

            if (bMC) {HistTopo->SetBinContent(PhiConf-12, EtaConf+1, bData*bMCtrue/bMC);} else {cout<<"error line~110";return;}
            HistTopoCorrection->SetBinContent(PhiConf-12, EtaConf+1, bMCtrue/bMC);
            //HistTopo->SetBinContent(PhiConf-12, EtaConf+1, bData);

        }


    for (Int_t EtaConf=0; EtaConf<=1; EtaConf++)

        for (Int_t PhiConf=13; PhiConf<=15; PhiConf++)

        {

            THnSparseF* hData= (THnSparseF*) listData->FindObject(Form("fPhi1%dEta%d",PhiConf,EtaConf));
            THnSparseF* hMC= (THnSparseF*) listMC->FindObject(Form("fPhi1%dEta%d",PhiConf,EtaConf));
            THnSparseF* hMCtrue= (THnSparseF*) listMCtrue->FindObject(Form("fPhi1%dEta%d",PhiConf,EtaConf));

            TH2D* qqData=hData->Projection(B,F,"");
            TH1D* qqcfData=(TH1D*)qqData->ProfileX("");
            qqcfData->Fit("pol1","");
            Double_t bData=qqcfData->GetFunction("pol1")->GetParameter(1);

            TH2D* qqMC=hMC->Projection(B,F,"");
            TH1D* qqcfMC=(TH1D*)qqMC->ProfileX("");
            qqcfMC->Fit("pol1","");
            Double_t bMC=qqcfMC->GetFunction("pol1")->GetParameter(1);

            TH2D* qqMCtrue=hMCtrue->Projection(B,F,"");
            TH1D* qqcfMCtrue=(TH1D*)qqMCtrue->ProfileX("");
            qqcfMCtrue->Fit("pol1","");
            Double_t bMCtrue=qqcfData->GetFunction("pol1")->GetParameter(1);

            if (bMC) {HistTopo->SetBinContent(PhiConf-12, EtaConf+1, bData*bMCtrue/bMC);} else {cout<<"error line~141";return;}
            HistTopoCorrection->SetBinContent(PhiConf-12, EtaConf+1, bMCtrue/bMC);
            //HistTopo->SetBinContent(PhiConf-12, EtaConf+1, bData);

        }


    HistTopo->SetBinContent(4,1,HistTopo->GetBinContent(5,3));
    HistTopo->SetBinContent(4,2,HistTopo->GetBinContent(5,3));
    HistTopo->SetBinContent(5,1,HistTopo->GetBinContent(5,3));
    HistTopo->SetBinContent(5,2,HistTopo->GetBinContent(5,3));
    HistTopo->SetBinContent(6,1,HistTopo->GetBinContent(5,3));
    HistTopo->SetBinContent(6,2,HistTopo->GetBinContent(5,3));


    HistTopoCorrection->SetBinContent(4,1,HistTopoCorrection->GetBinContent(5,3));
    HistTopoCorrection->SetBinContent(4,2,HistTopoCorrection->GetBinContent(5,3));
    HistTopoCorrection->SetBinContent(5,1,HistTopoCorrection->GetBinContent(5,3));
    HistTopoCorrection->SetBinContent(5,2,HistTopoCorrection->GetBinContent(5,3));
    HistTopoCorrection->SetBinContent(6,1,HistTopoCorrection->GetBinContent(5,3));
    HistTopoCorrection->SetBinContent(6,2,HistTopoCorrection->GetBinContent(5,3));




    TCanvas *c1 = new TCanvas("c1","NNabs corr coeff vs width of Eta window",50,50,800,500);
    gROOT->SetStyle("Plain");
    gStyle->SetPalette(1);
    c1->Divide(2,1,0.001,0.001);
    c1->cd(1);
    HistTopo->Draw("SURF1");
    c1->cd(2);
    HistTopoCorrection->Draw("SURF1");
    return;

}
